package com.mrogrape.gui.application;

import java.io.Serializable;

/**
 * 动作处理器。
 * 
 * @author 110046
 *
 */
public abstract class AcntionHandler implements Serializable{

	/** serialVersionUID */
	private static final long serialVersionUID = 1L;
	
	/**
	 * 创建一个动作处理器。
	 * 
	 * @param id 动作处理器的ID
	 * @param name 动作处理器的名称
	 * @param description 动作处理器的描述
	 */
	public AcntionHandler(String id, String name, String description){
		this.id = id;
		this.name = name;
		this.description = description;
	}

	/**
	 * 获取该动作处理器的ID。
	 * 
	 * @return 动作处理器的ID
	 */
	public String getId(){
	
		return this.id;
	}
	
	/**
	 * 获取该动作处理器的名字。
	 * @return
	 */
	public String getName(){
		return this.name;
	}
	
	/**
	 * 获取该动作处理器的描述。
	 * 
	 * @return
	 */
	public String getDescription(){
		return this.description;
	}
	
	/**
	 * 当动作处理器被调用时此方法被调用
	 * 
	 * @param data
	 * @return
	 */
	public abstract void actionInvoked(ActionDataWrapper data);
	
	private String id;
	private String name;
	private String description;
	
}
